home *** CD-ROM | disk | FTP | other *** search
- M2D2, die andere Shell für Modula-2/ST
- ======================================
-
-
- Developed using Modula-2/ST 0272-742796(UK), (214)340-4942(USA)
-
-
- PSB * Pentagramm Software Braunschweig * Thomas Birke & Hinnerk Rümenapf
-
-
- Allgemeines
- ===========
-
- Sämtliche Rechte an den vorliegenden Programmen liegen bei den Autoren:
-
- Thomas Birke Hinnerk Rümenapf
- birke@bii.bessy.de und Ottweilerstr. 18
- 38116 Braunschweig
-
- Die Programme sind nach bestem Wissen und Gewissen getestet und für gut
- befunden. Ich übernehme jedoch keine Gewähr für die Fehlerfreiheit,
- der Software, und bin insbesondere nicht haftbar für eventuelle Schäden
- oder Datenverluste, die durch die Programme verursacht wurden.
-
- Sollten Sie einen (oder gar mehrere ?) Fehler finden wäre ich dankbar,
- wenn sie mir eine möglichst genaue Beschreibung, wie es zu dem Fehler kam,
- einschließlich einer Beschreibung Ihrer Hardware (Rechner, RAM, TOS, ...),
- zukommen lassen würden.
-
- Das System besteht aus den folgenden Dateien:
- M2D2.PRG die eigentliche Shell
- M2D2.RSC die zugehörige Resource-Datei
- M2D2.INF ASCII-Datei mit den Parametern der Shell
- DRUCKER.PR1 Druckeranpassung (mit ANPEDIT.PRG editierbar)
-
- M2OPTION.ACC neues Options-Accessory (kürzer, dafür aber besser als
- das Alte)
- M2PATHS.TXT eine zum Original M2OPTION.ACC kompatible Parameterdatei
-
-
- ANPEDIT.PRG ein Programm zum Ändern der Druckeranpassungen
- ANPEDIT.RSC zugehörige Resource-Datei
- *.PR1 Druckeranpassungen, die mit ANPEDIT.PRG editierbar sind.
-
-
- Intention
- =========
-
- Die Idee für M2D2, entstand daraus, daß die von TDI-Software Ltd.
- mitgelieferte Shell zwar benutzbar ist, aber für größere Projekte nur ein
- mangelhaftes Werkzeug darstellt. Da wäre zum ersten das Manko, daß auf einen
- Blick nur fünf Module sichtbar sind, was bei größeren Projekten zuwenig ist.
- Außerdem werden die Abhängigkeiten der Module untereinander völlig mißachtet.
- Desweiteren wäre da die kaum brauchbare Möglichkeit andere Programme
- aus der Shell heraus aufzurufen.
- Diese Liste ließe sich noch weiter fortsetzen, was aber nicht meine
- Absicht ist. Ich zähle lieber einige Möglichkeiten von M2D2 auf.
-
- - vollständige Überwachung der Abhängigkeiten der Module im
- Arbeitsverzeichnis mit automatischer Compilierung nicht-aktueller Module
- (für diejenigen, die die sog. höhere Programmiersprache C kennen also ein
- integriertes, vollautomatisches MAKE)
- - Kommunikation mit zugehörigem neuen Accessory M2OPTION.ACC
- - komfortable Möglichkeit Module auszudrucken
- - Pfade und Programmnamen von Editor, Compiler, Linker, usw. frei bestimmbar
- - zehn Module gleichzeitig auf dem Desktop sichtbar
- - ...
-
-
- Installation
- ============
-
- Der eigentliche Kern der Shell besteht aus dem Programm M2D2.PRG mit seiner
- Resource-Datei M2D2.RSC, der Parameterdatei M2D2.INF und einer
- Druckeranpassung DRUCKER.PR1.
-
- Kopieren Sie nun die eben genannten Dateien an die Stelle, an der Sie die
- Shell haben wollen, und ersetzen Sie außerdem das alte Options-Accessory
- M2OPTION.ACC durch das gleichnamige, leistungsfähigere aber kürzere
- aus dem M2D2-System. Sie können auch weiterhin das alte Accessory benutzen,
- denn die beiden sind vollständig kompatibel. Sie müssen dann aber auf einige
- Arbeitserleichterungen durch M2D2 verzichten.
-
- Hier eine kurze Anleitung um zu einer sicheren Installation zu kommen:
- - starten Sie M2D2.PRG
- - lokalisieren Sie die durch Icons am linken Bildschirmrand dargestellten
- Programme (von oben: Editor, Compiler, Linker, Debugger, RCS und
- Kommando-Interpreter) durch Doppelklick auf das jeweilige Icon und Auswahl
- des Programms in einem Datei-Auswahl-Dialog.
- - wählen Sie im Menü Parameter den Menüpunkt Shell ,
- klicken auf den Knopf Editor bekommt keine Fehlerdatei , und beenden
- Sie den Dialog mit OK
- - wählen Sie im Menü Parameter den Menüpunkt speichern
-
- Das System müsste mit allen Modula-2/ST-Releases ab Rel. 2.00a lauffähig
- sein, insbesondere wurde es mit Rel. 3.01a entickelt und getestet. Bei
- Unverträglichkeiten mit anden Releases bitte ich, mich zu unterrichten.
-
- Außerdem wurde M2D2 auf folgenden TOS-Versionen getestet, und für lauffähig
- befunden:
-
- TOS 1.0 6.02.86
- TOS 1.2 vom 22.04.87
- TOS 1.4 6.04.89
- KAOS 1.4.2 30.12.90
-
-
- Bedienung des M2D2-Desktop
- ==========================
-
- Die Bedienung von M2D2 ist bewußt an die Bedienung der Original-Shell
- M2DESK.PRG angelehnt, aber weitaus komfortabler.
-
- Am linken Rand des Desktops finden Sie eine Reihe von Knöpfen untereinander
- angeordnet, die wie im Original den Zugriff auf die Tools Editor, Compiler,
- Linker, Debugger, Resource-Construction-Set, Kommando-Interpreter und
- jedes beliebige andere Programm (zweiter von oben, bis nach unten) bieten.
- Durch einfaches Anklicken eines Knopfes wird das jeweilige Programm
- aufgerufen. Durch Anklicken des unteren Knopfes kann in einem
- Datei-Auswahl-Dialog ein beliebiges Programm ausgewählt und gestartet werden,
- für das außerdem auch noch eine Parameterzeile angegeben werden kann.
-
- Ein Doppelklick auf einen der Knöpfe (bis auf den oberen und den unteren)
- öffnet einen Datei-Auswahl-Dialog, in dem das jeweilige Programm lokalisiert
- werden kann.
- Damit sind Zugriffdpfad und Name der Programme beliebig einstellbar (das
- schafft mehr Ordnung auf Festplatten oder Disketten).
-
- Der oberste Knopf gibt die Möglichkeit im Arbeitsverzeichnis ein
- neues Modul zu erzeugen. Es wird automatisch ein Rahmen für eine gültige
- Modula-2-Datei geschrieben, und aus dem Modulnamen ein Dateiname erzeugt.
- Falls das zu erzeugende Modul schon existiert gibt M2D2 eine entsprechende
- Fehlermeldung aus.
- Wenn zu einem zu erzeugenden .MOD schon ein .DEF existiert,
- wird das .MOD automatisch ein IMPLEMENTATION MODULE.
-
- Schwierigkeiten kann es geben, falls die Modulnamen sich in
- Groß/Kleinschreibung oder nach dem achten Zeichen unterscheiden.
- Die Dateien bekommen dann den gleichen (Vor)Namen, gehören aber für den
- Compiler zu verschiedenen Modulen (`incorrect module name' ist noch die
- harmlosere Fehlermeldung).
-
- In der Mitte des Desktops befindet sich das Fenster mit dem
- Arbeitsverzeichnis Arbeitsverzeichnis. Im Fenster werden die Module,
- die sich im aktuellen
- Arbeitspfad befinden angezeigt (sowie wenigstens eine Datei XXX.DEF
- oder XXX.MOD vorhanden ist). Das Fenster ist weder verschiebbar noch
- in der Größe veränderlich (um ehrlich zu sein, ist es noch nicht einmal ein
- echtes Fenster, sondern es tut nur so). Im Fenster-Titel wird der aktuell
- eingestellte Arbeitspfad angezeigt. Ein Einfachklick auf den Fenster-Titel
- erfragt beim M2Options-Accessory erneut den Arbeitspfad, und reagiert,
- falls nötig, darauf. Durch einen Doppelklick auf den Fenster-Titel bekommt
- man die Möglichkeit, den Arbeitspfad mit einem Datei-Auswahl-Dialog zu
- bestimmen. Falls das von *PSB mitgelieferte M2Options-Accessory installiert
- ist wird ein neu eingestellter Arbeitspfad automatisch auch in diesem
- gesetzt und ist damit global auch Compiler und Linker bekannt.
- Beim Original-Accessory ist das leider nicht möglich, weshalb es
- dann zu Schwierigkeiten mit Compiler und Linker kommen kann ("`Can't find
- ..."').
-
- Falls sich im Arbeitsverzeichnis mehr als zehn Module befinden, kann der
- senkrechte Rollbalken benutzt werden, um an nicht sichtbare Module zu
- gelangen. Die Bedienung des Rollbalkens entspricht der Bedienung
- der GEM-Fenster.
-
- Jedes gefundene Modul wird im Fenster wird durch eine Zeile dargestellt,
- wobei in der Zeile die gefundenen Dateien vermerkt sind.
-
- Kürzel Datei einfacher Mausklick startet
- --------------------------------------------------------------------------
- DEF Definitions-Modul Editor
- ERD Fehler-Datei Editor
-
- MOD (Implementations-)Modul Editor
- ERM Fehler-Datei Editor
-
- SYM übersetztes DEF Compiler
- LNK übersetztes MOD Compiler
- PRG gebundenes Programm Linker (Doppelklick startet das Programm)
- RSC Resource-Datei RCS
-
- Auf der rechten Seite des Desktops befindet sich oben ein kleines
- Informations-Fenster, in dem zum einen der noch verbleibende
- Hauptspeicher, und zum anderen die Anzahl der im Arbeitsverzeichnis
- befindlichen Module angezeigt wird.
-
- Darunter befinden sich zwei Icons:
- - Drucker
- Durch `ziehen' eines Moduls (also eines Knopfes mit
- Inschrift DEF, MOD, ERD oder ERM auf dieses Icon, kann dieses Modul (nach
- Rückfrage) ausgedruckt werden.
- - Abfall
- Durch `ziehen' einer Datei (DEF, MOD, ERD, ERM, SYM, LNK,
- PRG oder RSC) auf dieses Icon, kann diese Datei (nach Rückfrage) gelöscht
- werden. Wird ein Modulname auf dieses Icon gezogen, werden (nach Rückfrage)
- alle Dateien mit diesem Namen gelöscht (DATEI.*).
-
- Wenn beim Start eines Programmes eine der [shift]-Tasten gedrückt wird,
- wird von M2D2 automatisch eine Stopuhr gestartet, und die für den
- Programmlauf benötigte Zeit gemessen.
-
- Wird bei gedrückter [control]-Taste auf eine Datei im Arbeitsverzeichnis
- geklickt, wird deren Dateidatum und -uhrzeit auf das aktuelle Systemdatum
- und -uhrzeit gesetzt (unter UNIX als `touch' bekannt). Damit kann z.B. der
- Status `ungültig' einer Datei zurückgesetzt werden.
-
- Für die meisten Funktionen gibt es auch die Möglichkeit des Aufrufs über
- die Tastatur (s. Anhang).
-
-
- Die M2D2-Menü-Zeile
- ===================
-
- Das Menü von M2D2 enthält nur einige wenige Menü-Punkte, da fast alle
- Funktionen direkt auf dem Desktop ausgeführt werden können.
-
- Menü: Parameter
- ---------------
-
- Shell...
- Vor Ihnen öffnet sich eine Dialogbox, in der einige wenige Einstellungen
- vorgenommen werden können.
- Zum einen können Pfade und Namen der sechs Haupt-Tools (Editor, Compiler,
- Linker, Debugger, RCS und Kommando-Interpreter) von Hand eingetragen bzw.
- nachgebessert werden.
- Die Original TDI-Programme haben einen kleinen Fehler in der Auswertung der
- übergebenen Parameter. Für Editor, Compiler und Linker kann M2D2 diesen
- Fehler berücksichtigen, wenn Sie das entsprechende Feld vor dem Zugriffspfad
- anwählen. Kurz: Bei TDI-Programmen Kreuzchen vor dem Zugriffspfad, bei allen
- anderen nicht.
-
- Des weiteren können Flags gesetzt werden, die das Zusammenspiel Ihres Editors
- mit der Shell regeln.
-
- Editor nach Compiler-Fehler
- Mit diesem wird festgelegt, ob nach einem Übersetzungsfehler automatisch
- der Editor mit dem fehlerhaften Modul aufgerufen wird. Ein Übersetzungs-
- fehler ist aufgetreten, wenn eine vom Compiler erzeugte Fehlerdatei
- existiert oder die Datei, die der Compiler erzeugen sollte, nicht
- vorhanden ist.
-
- Des weiteren ist genau eines der nächsten drei Flags gesetzt:
-
- Editor ohne Fehlerdatei
- Editor mit Fehlerdatei
- Editor mit Fehlerdatei und ersten Fehler
- Sie legen fest, was dem Editor außer dem Namen des defekten Moduls
- übergeben wird. Es gibt die Möglichkeiten, nichts weiter, den Namen der
- Fehlerdatei oder den Namen der Fehlerdatei und Zeile und Spalte des ersten
- Fehlers zu übergeben.
- Welches dieser drei Flags Sie setzen sollten, hängt von dem von Ihnen
- verwendeten Editor ab. Für den Original-Editor des Modula-2/ST-Paketes
- sollte das Flag 'Editor bekommt keine Fehlerdatei' gesetzt werden, da
- dieser Editor die Fehlerdatei selbständig verwaltet. Falls Sie den
- Tempus-Editor verwenden können Sie das Flag 'Editor bekommt Fehlerdatei
- und ersten Fehler' setzen. Tempus setzt den Cursor im Fehlerhaften Modul
- dann an die Stelle an der der erste Fehler gefunden wurde. Ich kann hier
- natürlich nicht alle existierenden Editoren aufzählen, Sie müssen also
- eventuell selbst ausprobieren, welches Flag für Ihren Editor die optimale
- Einstellung ist.
-
- Batch nach Fehlern, wenn möglich, weiterbearbeiten.
- Ist dieses Feld angewählt wird beim Übersetzen größerer Projekte soweit
- wie möglich weitergearbeitet.
- Sonst wird beim ersten Fehler abgebrochen.
-
- Drucker...
- Öffnet die Dialogbox zum Einstellen der Druckerparameter. Sie wird im
- Abschnitt `Ausdrucken von Quelltexten' beschrieben.
-
- laden
- lädt die Datei M2D2.INF neu, und übernimmt aus ihr die Einstellung der
- Parameter.
-
- speichern
- speichert die eingestellten Parameter in der Datei M2D2.INF
-
- Ende
- beendet M2D2 ohne Rückfrage.
-
-
- Menü: Abhängigkeiten
- --------------------
-
- M2D2 ist in der Lage die Beziehungen (Abhängigkeiten) zwischen den Modulen
- im Arbeitsverzeichnis zu überprüfen und zu verwalten. So könnten sich zum
- Beispiel im Arbeitsverzeichnis die beiden Module Test und
- SubTest befinden, die im groben folgenden Aufbau haben:
-
- DEFINITION MODULE SubTest;
-
- PROCEDURE anything;
-
- END SubTest.
-
-
- IMPLEMENTATION MODULE SubTest;
-
- PROCEDURE anything;
-
- BEGIN
- ...
- END anything;
-
- END SubTest.
-
-
- MODULE Test;
-
- FROM SubTest IMPORT anything;
-
- BEGIN
- anything
- END Test.
-
-
- Für Modula-2 ist das Modul Test abhängig vom Modul SubTest .
- Wenn also in SUBTEST.MOD Änderungen vorgenommen werden, muß es neu
- übersetzt werden, und damit hat sich auch SUBTEST.LNK geändert. Also muß
- TEST.LNK neu gelinkt werden, um die Änderungen aus SUBTEST.MOD auch im
- endgültigen Programm TEST.PRG zu aktualisieren.
-
- Beim M2DESK.PRG des Modula-2/ST-Paketes war diese Überwachung bei größeren
- Projekten mit mehreren Modulen eine Heidenarbeit, die Ihnen jetzt von M2D2
- abgenommen werden kann.
-
- Die automatische Versions-Überwachung ist in dieser Version auf das
- Arbeitsverzeichnis beschränkt. Liegen also Test und SubTest in
- verschiedenen Verzeichnissen, müssen Sie wieder selbst Hand anlegen.
- Es bietet sich sowieso an, die Dateien eines Projektes in einem Ordner
- Zusammenzufassen.
-
- Die Abhängigkeiten `merkt' sich M2D2 in einer Datei DEPEND.M2B
- im entsprechenden Arbeitsverzeichnis. Diese Datei ist eine ASCII-Datei, und
- kann mit jedem Editor angesehen und bearbeitet werden.
- Mit der Funktion `bestimmen' aus dem Menü 'Abhängigkeiten' wird diese Datei
- automatisch erzeugt (für das aktuelle Arbeitsverzeichnis). Wenn sich die
- Abhängigkeiten ändern, müssen Sie sie von M2D2 erneut bestimmen lassen
- (s.u.).
-
- Eine Datei, die neu übersetzt oder gelinkt werden muß, weil sich eine
- untergeordnete Datei geändert hat, wird `grau' dargestellt.
-
- Eine Datei, die `grau' dargestellt ist, oder gar nicht vorhanden ist wird
- `ungültig' genannt.
-
- Ob eine Datei gültig ist wird anhand des Dateidatums und der
- Dateizeit überwacht. Es ist daher UNBEDINGT ERFORDERLICH das Datum und
- Uhrzeit IMMER korrekt gesezt werden.
- Zu diesem Zwecke gibt es eingebaute, nachrüstbare oder ansteckbare
- Hardwareuhren bzw. Autoordner-Programme oder Accessories, die das Stellen
- der Systemzeit übernehmen.
-
- bestimmen
- Für das aktuelle Arbeitsverzeichnis wird eine Datei DEPEND.M2B
- erzeugt, in der die Abhängigkeiten der im Arbeitsverzeichnis befindlichen
- Module vermerkt sind. Dazu wird jede Datei nach Importen durchsucht und
- diejenigen Importe, die sich wieder auf das Arbeitsverzeichnis beziehen,
- werden in die Datei DEPEND.M2B geschrieben.
- Wenn sich die Abhängigkeiten ändern rufen Sie diese Funktion erneut auf.
-
- ungültige übersetzen
- Alle Dateien .SYM oder .LNK, die ungültig (also `grau' oder
- nicht vorhanden) sind, werden neu übersetzt. Dabei wird automatisch auf
- die richtige Reihenfolge geachtet. Die Abhängigkeiten müssen vorher bestimmt
- worden sein (siehe oben).
-
- vollst. Importlisten
- Aus allen Modulen im aktuellen Arbeitsverzeichnis werden die Namen der Module
- aus denen importiert wird in eine Datei GLOBAL.M2B geschrieben.
- Zu Dokumentationszwecken hat man damit eine einfache Möglichkeit Importlisten
- zu erstellen und weiterzuverarbeiten.
-
-
- Editieren, Compilieren und Linken
- =================================
-
- Durch Maus-Klick auf die verschiedenen Dateien können Editor, Compiler oder
- Linker aufgerufen werden. Der Programmaufruf wird durch Maus-Klick auf die
- entsprechende Endung gestartet.
-
- DEF, MOD Der Editor wird mit der entsprechenden Datei aufgerufen.
-
- SYM, LNK Der Compiler wird aufgerufen, um die entsprechende Datei zu
- erzeugen (auch wenn das Feld leer ist, die Datei also noch
- nicht existiert)
-
- PRG Einfach-Klick: Der Linker wird aufgerufen, eine neue
- Programmdatei erzeugt.
- Doppel-Klick : Das Programm wird (wenn vorhanden) gestartet
-
- RSC Das in den Parametern eingestellte Resource-Construction-Set
- wird gestartet und bekommt den Namen der Resource-Datei
- übergeben.
-
-
- normale Arbeitszyklen
- Zunächst wird im Editor ein Quelltext erstellt. Erlaubt es der Editor beim
- Beenden einen EXIT-Code zu übergeben (z.B. Tempus), kann direkt die
- Bearbeitung gestartet werden:
-
- EXIT-Code Bearbeitung
- ----------------------------------------------------------------
- 0 keine
- 1 compilieren
- 2 compilieren, linken
- 3 compilieren, linken, starten des erzeugten Programms
-
- Treten bei der Bearbeitung Fehler auf, wird der Editor mit dem Quelltext
- aufgerufen, der für den Fehler verantwortlich sein müßte. Dabei werden
- (natürlich) die eingestellten `Shell-Optionen' berücksichtigt.
-
-
- Automatische Compilierung
- -------------------------
-
- Bei der Bearbeitung geben Sie ein Ziel an, z.B. ein bestimmtes Modul
- soll übersetzt werden, oder eine Programmdatei soll (vom Linker) neu
- erzeugt werden.
- Wenn die Abhängigkeiten der Module bestimmt wurden (Datei DEPEND.M2B
- existiert im Arbeitsverzeichnis) werden alle ungültigen Dateien, die benötigt
- werden um das angegebene Ziel zu erreichen, neu übersetzt. Ausgehend vom Ziel
- der Bearbeitung werden alle Dateien, von denen das Ziel abhängt, überprüft
- und wenn nötig neu übersetzt.
-
- Fehlende Dateien (SYM oder LNK) werden neu erzeugt.
-
- BEISPIELE
-
- Sie haben (nur!) die Quelltexte eines Programms erhalten, das aus mehreren
- Modulen besteht und wollen ein Programm erzeugen.
- - kopieren sie ALLE Quelltexte in einen Ordner
- - starten Sie M2D2
- - setzen Sie das Arbeitsverzeichnis auf den Ordner mit den Quelltexten
- Es werden die .DEF und .MOD Dateien angezeigt.
- - Wählen Sie im Menü Abhängigkeiten den Eintrag bestimmen .
- Die Abhängigkeiten der Module im Arbeitsverzeichnis werden bestimmt und
- in einer Datei DEPEND.M2B gespeichert.
- - Klicken Sie einmal in das Feld, in dem die Programmdatei angezeigt werden
- müßte (das Feld ist leer, noch existiert kein Programm).
- Ziel der Bearbeitung ist jetzt die Erstellung eines gültigen Programms. Um
- das Ziel zu erreichen werden alle Quelltexte in der richtigen Reihenfolge
- übersetzt, und danach der Linker aufgerufen.
-
- Sie bearbeiten ein Programm, das aus mehreren Modulen besteht. Sie haben
- den ein Moduls geändert und wollen das Programm testen.
- - Wenn sich die Abhängigkeiten der Module verändert haben könnten, wählen Sie im
- Menü Abhängigkeiten den Eintrag bestimmen .
-
- Alle ungültigen Dateien (SYM, LNK, PRG) werden `grau' Dargestellt
-
- - Klicken Sie einmal in das Feld PRG . Alle ungültigen Dateien werden neu
- übersetzt und das Programm gelinkt.
-
-
- Ausdrucken von Quelltexten
- ==========================
-
- Ziehen Sie das Feld zu der gewünschten Datei (DEF,MOD,ERD,ERM) auf das
- Drucker-Icon. Das Feld am linken Rand mit dem Modulnamen steht für ALLE
- druckbaren Dateien des Moduls.
-
-
- Druckoptionen
- -------------
-
- Beim Programmstart wird von M2D2 die Druckeranpassung DRUCKER.PR1 geladen.
- Erstzen Sie diese Datei durch die Anpassung für Ihren Drucker (aber unter
- demselben Namen!).
- Mit einem Doppelklick auf das Drucker-Icon können Sie eine beliebige
- Druckeranpassung im PR1 - Format laden.
-
- Die anderen Optionen werden in einem Extradialog eingestellt
- (Menü: Parameter, Eintrag: Drucker... ).
- Im oberen Teil wird die Bezeichnung des Druckers ausgegeben, für den eine
- Anpassung geladen ist.
-
- Darunter können verschiedene Parameter der Schriftgröße eingestellt werden:
- PICA Basisgröße 10 Zeichen pro Inch
- ELITE Basisgröße 12 Zeichen pro Inch
- MICRO Halbe Zeichenhöhe (schaltet auch SCHMAL an)
- SCHMAL Die Zeichen werden schmaler dargestellt, abhängig von der
- gewählten Basisgröße.
- (N)LQ Schönschrift, wenn angewählt.
-
- Die folgenden Werte verändern sich je nach eingestellter Schriftgröße.
-
- Im Bereich links darunter werden die Papierbreite, Ränder links/rechts
- und die Anzahl der Druckspalten angegeben.
-
- Im Bereich rechts daneben werden die Längenparameter angegeben. Zuerst
- wieviele Zeilen Maximal gedruck werden können. Danach werden von oben nach
- unten die Höhen der einzelnen Bereiche angegeben:
-
- Rand oben Rand oberhalb der Kopfzeile
- Rand für Kopfzeile Platz für die Kopfzeile und evtl. Rand darunter,
- (0: keine Kopfzeile, 1: nur Kopfzeile, 2: Kopf- und
- eine Leerzeile darunter, ... )
- Textzeilen/Seite wird aus den Angaben errechnet
- Rand für Fußzeile Platz für die Fußzeile und evtl. Rand darüber
- Rand unten Rand unterhalb der Fußzeile
-
- Max.Leerzeilen gibt an, wieviele Leerzeilen Maximal im Ausdruck auf-
- einanderfolgen dürfen. Stehen im Text mehr Leerzeilen
- hintereinander, werden die überzähligen nicht
- gedruckt.
-
-
- Das Options-Accessory
- =====================
-
- Das neue M2OPTION bietet alle Möglichkeiten des alten. Die Bedienungselemente
- sind in einer Dialogbox zusammengefasst, es benötigt weniger Hauptspeicher
- und arbeitet mit M2D2 zusammen (s. Bedienung des M2D2-Desktop, Einstellen des
- Arbeitspfades.
-
- Die Voreinstellungen werden (wie beim alten) aus der Datei M2PATHS.TXT
- gelesen. Diese Datei kann direkt übernommen werden.
-
- Alle uns bekannten Versionen von TDI-Modula2 arbeiten mit diesen Accessory
- zusammen, ältere Versionen unterstützen jedoch nicht alle Zugriffspfade (nur
- vier statt sechs).
-
-
- --ANHANG--
- ==========
-
- Die Datei M2D2.INF
- ==================
-
- Hier ein Beispiel für eine Options-Datei M2D2.INF:
- ----------------- CUT HERE ----------------------------------
- Datei-Extender
- #X DEF, MOD, SYM, LNK, PRG, ERD, ERM
-
- Editor
- #E C:\BIN\TEMPUS.PRG
-
- Compiler
- #c D:\BIN\TDI\MODULA.PRG
-
- Linker
- #l D:\BIN\TDI\LINKER.PRG
-
- Debugger
- #D D:\TDI\BIN\DEBUG.PRG
-
- RCS
- #R D:\TDI\BIN\NRSC.PRG
-
- Kommando-Interpreter
- #M C:\MINISHEL.TOS
-
- Flags :
- #F AutoEdit EditError1 GoOnAfterError
-
- Druck-Parameter
- #P DRUCKER.PR1 1 6 0 2 130 0 0 1 158 0 3 2
- ----------------- CUT HERE ----------------------------------
-
-
- Alle Zeilen, die NICHT mit einem # (Doppelkreuz) beginnen, werden
- ignoriert, stehen also für beliebige Kommentare zur verfügung.
- Ansonsten legt das dem # folgende Zeichen fest, welcher Parameter
- gesetzt wird:
-
- X Dateiendungen und Kürzel für:
- Definitionsteil, Implementationsteil,
- übersetzten Definitionsteil, übersetzen Implementationsteil,
- Programmdatei,
- Fehlerliste für Definitionsteil, Fehlerliste für Implementationsteil.
- Im Beispiel sind die Einstellungen für TDI-Modula2/ST eingetragen.
- Diese Einstelleungen sind die einzigen, die NUR mit einem Texteditor
- in der INF Datei geändert werden können. Alle anderen werden in den
- Optionsdialogen von M2D2 eingestellt.
- Beim Speichern der Optionen werden diese Einstellungen so geschrieben,
- wie sie zuletzt gelesen wurden.
-
- E Programmname und Pfad des Editors ! Großbuchstabe: OHNE Korrektur
- C Programmname und Pfad des Compilers ! des TDI-Parameterfehlers,
- L Programmname und Pfad des Linkers ! Kleinbuchstabe: MIT
-
-
- D Programmname und Pfad des Debuggers
- R Programmname und Pfad des Resource-Construction-Sets
- M Programmname und Pfad des Kommando-Interpreters
- F Flags AutoEdit EditError GoOnAfterError und EditError1
- (gesetzt wenn vorhanden)
- P Drucker-Parameter (etwas undurchsichtig, verwenden Sie den Options-
- dialog)
-
-
- Tastaturbedienung
- =================
-
- Taste Funktion
- F1 der Editor wird gestartet
- F2 der Compiler wird gestartet
- F3 der Linker wird gestartet
- F4 der Resource-Editor wird gestartet
- F5 der Debugger wird gestartet
- F6 der Kommande-Interpreter wird gestartet
- F7 die Abhängigkeiten werden bestimmt
- F8 nicht-aktuelle Dateien werden neu erzeugt
- F9 das M2-Options-Accessory wird aufgerufen
- F10 ein Programm kann ausgewählt und gestartet werden
- A bis Z das erste Modul dessen Name mit diesem
- Buchstaben beginnt wird in das Fenster gerollt
- [ctrl]C
- [ctrl]Q
- [ctrl]X M2D2 beenden
-
- [ctrl]N neues Modul erzeugen
- [ctrl]O die Shell-Parameter können eingestellt werden
- [ctrl]D Drucker-Parameter können eingestellt werden
- [ctrl]P einen neue Drucker-Anpassung kann geladen werden
- [Help] Hilfe-Box mit der Tastaturbelegung von M2D2
- ^ v (Pfeiltasten!) Fenster zeilenweise auf und ab rollen
- Zusätzlich shift gedrückt: Seitenweise rollen.
- [ESC] Pfad und Module des Arbeitsfensters neu bestimmen
-
- +++
-